package com.zmkj.cn.sys.service;

import com.zmkj.cn.sys.dto.SysLogDto;
import com.zmkj.cn.sys.entity.SysLog;
import com.zmkj.cn.sys.vo.input.SysLogInputVo;
import com.zmkj.cn.sys.vo.query.SysLogQueryVo;
import com.zmkj.cn.comm.vo.PageInput;

import java.util.List;

public interface ISysLogService  {

     /**
     * 新增修改
     * @param sysLogInputVo 根据VO对象新增
     */
   SysLog saveOrUpdate(SysLogInputVo sysLogInputVo);



    /**
     * 新增
     * @param sysLog 根据对象新增
     */
    SysLog save(SysLog sysLog);


    /**
     * 修改
     * @param sysLog 根据对象修改
     */
    SysLog update(SysLog sysLog);




    /**
     * 通过主键 查询对应对象
     * @param id 主键
     * 
     */
    SysLog getByPrimary(Integer id);



    /**
     * 通过主键 查询对应对象DTO
     * @param id 主键
     * 
     */
    SysLogDto getDtoByPrimary(Integer id);


     /**
     * 根据主键删除对象
     * @param id 主键
     */
    void deleteByPrimary(Integer id);

    /**
     * 分页查询
     * @param  pageInput 分页参数
     * @param sysLogQueryVo 查询条件
     * 
     */
    Object getPage(PageInput pageInput, SysLogQueryVo sysLogQueryVo);


    /**
     * 查询
     * @param sysLog 根据对象查询
     */
    List<SysLog> getList(SysLog sysLog);

 /**
  * 异步保存日志
  * @param ip
  * @param url
  * @param code
  * @param reqTimes
  */
     void saveLog(String ip, String url, String code, Long reqTimes, String reqParam, String reqId);
}